﻿#region Copyright Notice
// 
// 
// Copyright (c) 2009-2010 Anindya Chatterjee
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// 
// 
// 
#endregion
using Event.Plugin;
using Event.Plugin.Utility;
using GmailNotifier.Atom;
using GmailNotifier.Properties;

namespace GmailNotifier
{
    public partial class GmailNotify : BaseNotifyTip
    {
        internal Feed _mailFeed;

        public GmailNotify(AbstractEvent sender) : base(sender)
        {
            InitializeComponent();
        }

        public void LoadEmails(Feed mailFeed)
        {
            _mailFeed = mailFeed;
            TipIcon = Resources.GMail;
            Text = "Gmail Notifier";
            TipHeading = "Gmail Notifier : " + mailFeed.Fullcount + " new mails in your Inbox";
            foreach (Entry entry in mailFeed.Entries)
            {
                mailList.Add(entry.Title, entry.Author.Name, entry.Link.Href);
            }
        }

        public override void Update(BaseNotifyTip tip)
        {
            base.Update(tip);
            var notifyTip = tip as GmailNotify;
            if (notifyTip != null)
            {
                _mailFeed = notifyTip._mailFeed;
                TipHeading = "Gmail Notifier : " + _mailFeed.Fullcount + " new mails in your Inbox";
                mailList.Clear();
                foreach (Entry entry in _mailFeed.Entries)
                {
                    mailList.Add(entry.Title, entry.Author.Name, entry.Link.Href);
                }
            }
            Refresh();
        }
    }
}